# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/26 13:35 
@Author  : ZhangShenao 
@File    : 4.ChatPrompt拼接.py 
@Desc    : ChatPrompt拼接
"""
from langchain_core.prompts import ChatPromptTemplate

# 创建系统聊天PromptTemplate
system_chat_prompt_template = ChatPromptTemplate.from_messages([
    ('system', 'You are a helpful assistant, please answer user\'s question.'),
])

# 创建用户聊天PromptTemplate
human_chat_prompt_template = ChatPromptTemplate.from_messages([
    ('human', '{question}'),
])

# 拼接完整的聊天PromptTemplate
# 在LangChain的Prompt组件中,对'+'运算符采用__add__函数进行了重载
# 因此几乎所有Prompt组件都可以使用+运算符进行组装拼接
full_chat_prompt_template = system_chat_prompt_template + human_chat_prompt_template

# 填充变量,生成PromptValue
prompt_value = full_chat_prompt_template.invoke({
    'question': 'What is the meaning of life?',
})

# 输出PromptValue
print(prompt_value.to_string())
